;:sys36864 ;.opt p *= 679 ;startadresse sys 679 ; ---------------------------- ; power-poke 64 (c) 6.92 ; nikolaus heusler ; XXXXXXXXXXXX XX ; XXXX XXXXXXXX XX ; nach einer idee ; von barry l. camp, 4.88 ; ---------------------------- ; ; syntax - poke adr,w1,w2,w3,w4,... ; bei wn > 255 wird im format ; high/lowbyte in zwei aufeinander- ; folgende speicherzellen gepoket ; ; **** wedge (neuen befehl einbinden) lda #act ;zeiger auf neue routine sta 776 sty 777 ;vektor umstellen jmp 43806 ;herz ausgeben ; **** neue execute-routine ; diese routine wird immer ausgefuehrt, ; wenn ein basic-befehl interpretiert ; werden soll act jsr 115 ;naechstes zeichen holen cmp #151 ;code fuer poke beq poke ;ja jsr 121 ;flags korrigieren fertig jmp 42983 ;normalen basicbefehl ausfuehren ; **** neuer poke-befehl poke jsr 115 ;zeichen nach 'poke' holen jsr $ad8a ;num. ausdruck auswerten jsr $b7f7 ;in adressformat wandeln lda $14 sta 181 ;adr. lowbyte lda $15 sta 182 ;adr. highbyte ; **** parameterschleife komma jsr $aefd ;komma pruefen jsr $ad8a ;num. ausdruck auswerten jsr $b7f7 ;und wandeln lda $15 ;highbyte tay beq single ;null, nur eine adresse ldy #1 sta (181),y ;highbyte speichern dey single lda $14 sta (181),y ;lowbyte speichern jsr 121 ;noch ein zeichen beq fertig ;nein, fertig lda $15 beq eins lda #1 eins sec ;adresszaehler um adc 181 ;1 bzw. 2 sta 181 ;hochzaehlen bcc komma inc 182 ;highbyte jmp komma ;und weiter